package com.zenith.middleware.po.dto.storage;

import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import lombok.Data;

/**
 * 存储提供商DTO
 */
@Data
public class ProviderDTO {
    /**
     * 主键ID
     */
    private Long id;

    /**
     * 提供商名称
     */
    @NotBlank(message = "提供商名称不能为空")
    private String providerName;

    /**
     * 服务端点
     */
    @NotBlank(message = "服务端点不能为空")
    private String endpoint;

    /**
     * 存储桶名称
     */
    @NotBlank(message = "存储桶名称不能为空")
    private String bucket;

    /**
     * 访问密钥
     */
    @NotBlank(message = "访问密钥不能为空")
    private String accessKey;

    /**
     * 密钥
     */
    @NotBlank(message = "密钥不能为空")
    private String secretKey;

    /**
     * 区域
     */
    private String region;

    /**
     * 状态(1-启用 0-停用)
     */
    @NotNull(message = "状态不能为空")
    private Integer status;

    /**
     * 是否默认桶
     */
    private Integer isDefault;

    /**
     * 备注
     */
    private String remark;
}